
$(function(){
	//$(':file').change(selectFile);
	$('#add').click(doAddCustomer);
	$('#add_customer').click(doCustomerAddPage);
	$('#customer').click(function(){
		window.location.href='../customer/list?pageNo=1';
	});
	$('#give_up').click(giveUpAddCustomer);
	$('#provinceId').change(selectProvince);
	$('#cityId').change(selectCity);
	$('.bootstrap-tagsinput').eq(0).find('input').keyup(promptProduceCategory).blur(bindClick);
	$('.bootstrap-tagsinput').eq(1).find('input').keyup(promptStyleLabel).blur(bindClick);
	$('#show_more').click(doCustomerAddMore);
	$('#update').click(doEditCustomer);
	$('.addLink').click(addContact);
	$('#edit').click(doShowCustoemrEditPage);
	$('#delete_customer').click(doEditPageRemoveCustomer);
	$('#give_up_edit').click(giveUpEditCustomer);
	$('#web').focus(inputWeb);
	$(':button[name="new"]').click(reupload);
	$(':file[name="new"]').change(addFile);
	$('input[name="remove"]').click(removeAttach);
	$(':file[name="old"]').change(showFilename);
	$('input[name="email"]').keyup(promptEmail).blur(bindClick);
	checkForm();
});

function bindClick(){
	$('body').click(hideDiv);
}

function hideDiv(e){
	if($(e.target).parent().attr('class')!='find_div_xianshi'){
		$('.find_div_xianshi').hide();
	}
	$('body').unbind('click');
}

function hideSpan(){
	$(this).next().empty();
}

function doShowCustoemrEditPage(){
	var id=$('#id').html();
	window.location.href='doShowCustomerEditPage?id='+id;
}

function doEditPageRemoveCustomer(){
	var name=$('#fullname').html();
	var sure=confirm('是否确定删除 '+name+' 公司，删除后将无法恢复');
	if(sure){
		var id=$('#id').html();
		$.ajax({
			url:'doRemoveCustomer',
			type:'post',
			data:{id:id},
			dataType:'json',
			success:function(result){
				if(result.head.respCode=='0000000'){
					if(result.body){
						window.location.href='list?pageNo=1';
					}
				}else{
					alert('删除失败，请稍后重试');
				}
			}
		});
	}
}

function doAddCustomer(){
	$('form').eq(1).bootstrapValidator('validate');
	if(!$('form').eq(1).data('bootstrapValidator').isValid()) return;
	var data=getParam();
	var files=$(':file');
	for(var i=0;i<files.length;i++){
		if(files[i].files[0]){
			data.append('attachs',files[i].files[0]);
		}
	}
	$.ajax({
		url:'../customer/doAddCustomer',
		type:'post',
		data:data,
		dataType:'json',
		processData: false,  // 告诉jQuery不要去处理发送的数据
		contentType: false,   // 告诉jQuery不要去设置Content-Type请求头
		success:function(result){
			if(result.head.respCode=='0000000'){
				if(isNaN(result.body)){
					alert(result.body);
				}else{
					window.location.href='doShowCustomerDetailPage?id='+result.body;
				}
			}else{
				alert('保存失败,请稍后重试');
			}
		}
	});
}

function doEditCustomer(){
	$('form').eq(1).data('bootstrapValidator').validate();
	if(!$('form').eq(1).data('bootstrapValidator').isValid()) return;
	var data=getParam();
	var files=$(':file[name="old"]');
	var attachId=[];
	var delAttachIds=[];
	var a=0;
	var b=0;
	for(var i=0;i<files.length;i++){
		var file=files.eq(i);
		if(file.parent().css('display')=='none'){
			id=file.parent().prev().html();
			delAttachIds[a++]=id;
		}else{
			if(files[i].files[0]){
				attachId[b++]=files.eq(i).parent().prev().html();
				data.append('attachs',files[i].files[0]);
			}
		}
	}
	data.append('delAttachIds',JSON.stringify(delAttachIds))
	data.append('attachId',JSON.stringify(attachId));
	files=$(':file[name="new"]');
	for(var i=0;i<files.length;i++){
		if(files[i].files[0]){
			data.append('attachs',files[i].files[0]);
		}
	}
	var id=$('#id').html();
	data.append('id',id);
	$.ajax({
		url:'../customer/doEditCustomer',
		type:'post',
		data:data,
		dataType:'json',
		processData: false,  // 告诉jQuery不要去处理发送的数据
		contentType: false,   // 告诉jQuery不要去设置Content-Type请求头
		success:function(result){
			if(result.head.respCode=='0000000'){
				if(isNaN(result.body)){
					alert(result.body);
				}else{
					window.location.href='doShowCustomerDetailPage?id='+id;
				}
			}else{
				alert('修改失败,请稍后重试');
			}
		}
	});
}

function getParam(){
	var data=new FormData();
	data.append('fullname',$('#fullname').val());
	data.append('abbreviation',$('#abbreviation').val());
	data.append('category',$('#category').val());
	data.append('level',$('#level').val());
	data.append('provinceId',$('#provinceId').val());
	data.append('cityId',$('#cityId').val());
	data.append('areaId',$('#areaId').val());
	data.append('detailAddress',$('#detailAddress').val());
	data.append('deliveryAddress',$('#deliveryAddress').val());
	data.append('memo',$('#memo').val());
	data.append('web',$('#web').val());
	var contacts=[];
	var inputs=$('table.contacts').find('input');
	for(var i=0;i<inputs.length/4;i++){
		var linkman=inputs.eq(4*i).val();
		var contact=inputs.eq(1+4*i).val();
		var email=inputs.eq(2+4*i).val();
		var deptPosition=inputs.eq(3+4*i).val();
		contacts[i]={linkman:linkman,contact:contact,email:email,deptPosition:deptPosition};
	}
	data.append('contacts',JSON.stringify(contacts));
	if($('#more').css('display')=='block'){
		var productCategory='';
		var spans=$('#productCategory').prev().children('span');
		for(var i=0;i<spans.length;i++){
			productCategory+=spans.eq(i).text()+'、';
		}
		data.append('productCategory',productCategory);
		var styleLabel='';
		var spans=$('#styleLabel').prev().children('span');
		for(var i=0;i<spans.length;i++){
			styleLabel+=spans.eq(i).text()+'、';
		}
		data.append('styleLabel',styleLabel);
		data.append('targetConsumer',$('#targetConsumer').val());
		data.append('saleChannel',$('#saleChannel').val());
		data.append('saleAmount',$('#saleAmount').val());
		data.append('salePrice',$('#salePrice').val());
		data.append('updateFrequency',$('#updateFrequency').val());
		data.append('updateCount',$('#updateCount').val());
	}
	return data;
}

model={
	areaList:[],
	updateAreaList:function(AreaList,id){
		this.AreaList=AreaList;
		this.updateAreaView(id);
	},
	updateAreaView:function(id){
		var opt=new Option('请选择','');
		$('#'+id).empty().append($(opt));
		for(var i=0;i<this.AreaList.length;i++){
			var area=this.AreaList[i];
			opt=new Option(area.areaName,area.areaId);
			$('#'+id).append($(opt));
		}
		var option=new Option('请选择','');
		$('#'+id).parent().parent().next().find('select').empty().append($(option));
	},
	email:['@qq.com','@126.com','@163.com','@sina.com','@gmail.com','@yahoo.com','@msn.com','@hotmail.com']
};

function addContact(){
	var contact=$('<tr></tr>');
	var td1=$('<td><table class="table"><tr><td style="border:none; padding: 8px 0" width="auto">'
			+'<span><label class="star">*</label>姓名：</span></td>	<td  style="border:none"><div class="form-group">'
            +'<input type="text" class="form-control" name="linkman" /></div></td></tr></table></td>');
	
	var td2=$('<td><table class="table"><tr><td  style="border:none;padding: 8px 0" width="auto">'
			+'<span><label class="star">*</label>手机号：</span></td>	<td  style="border:none"><div class="form-group">'
            +'<input type="text" class="form-control" name="contact" /></div></td></tr></table></td>');
	
	var td3=$('<td class="find_div"><table class="table"><tr><td  style="border:none;padding: 8px 0"width="auto">'
			+'<span>邮箱：</span></td>	<td  style="border:none"><div class="form-group">'
			+'<input type="text" class="form-control"" name="email" /></div></td></tr></table>'
			+'<div class="find_div_xianshi" ></div></td>');
	td3.find('input').keyup(promptEmail).blur(bindClick);
	var td4=$('<td><table class="table"><tr><td  style="border:none;padding: 8px 0"width="auto">'
			+'<span>职位/部门：</span></td>	<td  style="border:none"><div class="form-group">'
            +'<input type="text" class="form-control" name="deptOrPos" /></div></td></tr></table></td>');
	var td5=$('<td style="margin-left:20px"><button type="button" class="btn btn-default btn-md btn-flat">删除</button></td>');
	contact.append(td1).append(td2).append(td3).append(td4);
	td5.children().click(removeContact);
	contact.append(td5);
	$('.contacts').append(contact);
	//解除表单验证，再添加
	$('form').eq(1).data('bootstrapValidator').destroy();
	$('form').eq(1).data('bootstrapValidator', null);
	checkForm();
}

function removeContact(){
	if($('table button').length!=1){
		$(this).parent().parent().remove();
	}else{
		alert('至少要有一个联系人');
	}
}

function doCustomerAddPage(){
	window.location.href='../customer/doShowCustomerAddPage';
}

/**
 * 放弃新增客户
 * @returns
 */
function giveUpAddCustomer(){
	var sure=confirm('确定放弃新增客户？放弃后当前填写的资料将无法保存');
	if(sure){
		window.location.href='../customer/list';
	}
}

/**
 * 选择省
 * @returns
 */
function selectProvince(){
	var parentId=$('#provinceId').val();
	var id='cityId';
	if(!parentId){
		$('#'+id).empty().append($(new Option('请选择','')));
		$('#areaId').empty().append($(new Option('请选择','')));
		return;
	}
	doReadArea(parentId,id);
}

/**
 * 选择市
 * @returns
 */
function selectCity(){
	var parentId=$('#cityId').val();
	var id='areaId';
	if(!parentId){
		$('#'+id).empty().append($(new Option('请选择','')));
		return;
	}
	doReadArea(parentId,id);
}

function doReadArea(parentId,id){
	$.ajax({
		url:'../area/cityOrArea',
		data:{parentId:parentId},
		dataType:'json',
		async:false,
		success:function(result){
			if(result.head.respCode=='0000000'){
				model.updateAreaList(result.body.rows,id);
			}
		}
	});
}

var xhr=null;

function selectLabel(input,category){
	if(xhr){
		xhr.abort();
	}
	var label=input.val();
	if(!label){
		return;
	}
	var url='../constant/doGetConstantByQuery';
	var data={name:label,category:category};
	xhr=$.getJSON(url,data,function(result){
		xhr=null;
		if(result.head.respCode=='0000000'){
			var div=input.parent().next().next();
			if(!result.body.rows.length){
				div.hide();
				return;
			}
			div.empty();
			for(var i=0;i<result.body.rows.length;i++){
				var name=result.body.rows[i];
				var a=$('<a></a>');
				a.html(name);
				div.append(a);
				a.click(selectStyle);
			}
			div.show();
		}
	});
}

function selectStyle(){
	var style=$(this).html();
	var label=$(this).parent().prev().prev().children('span:last');
	var span=label.children();
	label.html(style).append(span);
	$(this).parent().hide();
}

function promptProduceCategory(){
	selectLabel($(this),'scm_customer-product_category');
}

function promptStyleLabel(){
	selectLabel($(this),'scm_customer-style_label');
}

function doRemoveCustomer(name,id){
	var sure=confirm('是否确定删除 '+name+' 公司，删除后将无法恢复');
	if(sure){
		$.ajax({
			url:'doRemoveCustomer',
			type:'get',
			data:{id:id},
			dataType:'json',
			async:false,
			success:function(result){
				if(result.head.respCode=='0000000'){
					if(result.body){
						window.location.href='list?pageNo=1';
					}
				}else{
					alert('删除失败，请稍后重试');
				}
			}
		});
	}
}

function showCustomerDetail(id){
	window.location.href='doShowCustomerDetailPage?id='+id;
}

function doCustomerAddMore(){
	$('#more').show();
	$('#show_more').parent().parent().hide();
}

function giveUpEditCustomer(){
	var sure=confirm('确定放弃修改客户？放弃后当前填写的资料将无法保存');
	if(sure){
		window.history.back();
	}
}

function inputWeb(){
	var web=$('#web').val();
	if(!web){
		$('#web').val('http://www.');
	}
}

function promptEmail(){
	var email=$(this).val();
	if(!email){
		return;
	}
	var div=$(this).parents('table').eq(0).next().empty();
	for(var i=0;i<model.email.length;i++){
		var span=$('<span>'+email+model.email[i]+'</span>');
		div.append(span);
		span.click(selectEmail);
	}
	div.show();
}

function selectEmail(){
	var email=$(this).html();
	$(this).parent().prev().find('input').val(email).blur();
	$(this).parent().hide();
	
}

function reupload(){
	$(this).prev().click();
}

function addFile(){
	if($(this)[0].files[0]){
		if($(this).nextAll().length==1){
			$(this).after('<input type="file" accept=".zip, .rar" name="new">');
			$(this).next().change(addFile);
		}
	}else{
		if($(this).nextAll().length!=1){
			$(this).next().remove();
		}
	}
}

function removeAttach(){
	$(this).parent().hide();
}

function showFilename(){
	var name=$(this).val();
	$(this).prev().html(name.substring(name.lastIndexOf('\\')+1));
}

//function selectFile(){
//	var filename=$(this).val();
//	var suffix=filename.substring(filename.lastIndexOf('.'));
//	suffix=suffix.toLowerCase();
//	if(suffix!='.zip'&&suffix!='.rar'){
//		alert('请选择zip或者rar格式的文件');
//		return false;
//	}
//}

function checkForm(){
	$('form').eq(1).bootstrapValidator({
		  fields: {
			  trigger:'blur',
			  fullname: {
		          validators: {
		              notEmpty: {
		                  message: '客户名称为空'
		              },
		              callback:{
		            	  message: '客户已存在',
		            	  callback: function(value, validator){
		            			if(!value) return true;
		            			var unused=true;
		            			$.ajax({
		            				url:'../customer/doCheckFullname',
		            				type:'get',
		            				data:{fullname:value},
		            				dataType:'json',
		            				async:false,
		            				success:function(result){
		            					if(result.head.respCode=='0000000'){
		            						if(result.body){
		            							unused=false;
		            						}
		            					}
		            				}
		            			});
		            			return unused;
		            		}
		              }
		          }
		      },
		      abbreviation: {
		    	  trigger:'blur',
		          validators: {
		        	  callback: {
		                  message: '客户简称已存在',
		                  callback: function(value, validator){
		                		if(!value) return true;
		                		var unused=true;
		                		if(abbreviation){
		                			$.ajax({
		                				url:'doCheckAbbreviation',
		                				type:'get',
		                				data:{abbreviation:value},
		                				dataType:'json',
		                				async:false,
		                				success:function(result){
		                					if(result.head.respCode=='0000000'){
		                						if(result.body){
		                							unused=false;
		                						}
		                					}
		                				}
		                			});
		                		}
		                		return unused;
		                	}
		              }
		          }
		      },
		      linkman: {
		    	  trigger:'blur',
		          validators: {
		        	  notEmpty: {
		        		  message: '联系人为空',
		              }
		          }
		      },
		      contact: {
		    	  trigger:'blur',
		          validators: {
		        	  notEmpty: {
		        		  message: '联系方式为空',
		              },
		              regexp: {
	                        regexp: /^(0\d{2,3}-?\d{7,8})|(1\d{10})$/,
	                        message: '联系方式不符'
	                  }
		          }
		      },
		      email: {
		    	  trigger:'blur',
		    	  validators: {
		    		  regexp: {
	                        regexp: /^\w+@\w+(.[a-zA-Z0-9_-])+$/,
	                        message: '邮箱格式不符'
	                  }
		          }
		      }
		  }
	});
}
